class_name TextTrigger
extends Node2D

@export_multiline var texts :Array[String]=[]
@export var box:DialogBox

#当前播放到的文本索引
var currentIndex=0
#是否为一次性触发
@export var isOneShot = true


#展示文本
func displayText():
	if box==null:
		return
	
	#开始显示第一段
	displayNextText(box)
	#连接信号
	box.textDisplayIsClosing.connect(displayNextText.bind(box))
	
#显示下一段文本
func displayNextText(dialogBox :DialogBox):
	
	#配过所有文本播放完
	if currentIndex>=texts.size():
		dialogBox.hide()
		#如果是一次性
		if isOneShot:
			queue_free()
		#否则重置
		else :
			currentIndex=0
		return
	#用对话框显示对话
	dialogBox.displayText(texts[currentIndex])	
	currentIndex+=1
